$(document).ready(function() {
    document.getElementById('page_center').scrollIntoView();
    $('form.produto_por_codigo input.entrada[name="codigo"]').focus();
    $('form.produto_por_codigo input.entrada[name="codigo"]').select();
    verifica_quantidade_minima($("#codigo_ultimo_item").html());
    
    $('#taxa_servico').click(function() {
    	$(this).attr("disabled", true);
    	
    	var taxa_servico = $(this).is(':checked');
    	var pedido_id = $("#pedido_id_taxa").val();
    	
    	alterar_taxa_servico(taxa_servico, pedido_id);
    	
    	$(this).removeAttr("disabled");
    });
});

function alterar_taxa_servico(taxa_servico, pedido_id) {
	var csrf_token = getCookie('csrftoken');
	
	$.ajax({
        type: "POST",
        url: "/taxa_servico/alterar/",
        data: {
            pedido_id: pedido_id,
            taxa_servico: taxa_servico,
            csrfmiddlewaretoken: csrf_token
        },
        async: false,
        success: function(retorno) {
        	window.location = window.location
            return true;
        },
        statusCode: {
            404: function() {
                alert('Pagina não encontrada');
                return false;
            },
            408: function() {
                alert('Não responde');
                return false;
            }
        }
    });
}

function decremente(formulario) {
	indice = 2
	if (formulario.elements[indice].value > 0) {
		formulario.elements[indice].value--;
	}
}

function incremente(formulario) {
	indice = 2
	formulario.elements[indice].value++;
}

function observacoes(item_id, observacao, csrf_token) {
    
    obs = window.prompt("Observações", observacao);
    if (obs == null)
        return false;
    
    $.ajax(
        {
            type: "POST",
            url: "/pedido/item/observacao/",
            data: {
                item_id: item_id,
                observacao: obs,
                csrfmiddlewaretoken: csrf_token
            },
            async: false,
            success: function(retorno) {
                alert('Observações adicionadas!');
                return true;
            },
            statusCode: {
                404: function() {
                    alert('Pagina não encontrada');
                    return false;
                },
                408: function() {
                    alert('Não responde');
                    return false;
                }
            }
        }
    );
}

function desconto(pedido_id, desconto, csrf_token) {
    
    desconto = window.prompt("Desconto", desconto);
    if (desconto == null)
        return false;
    
    $.ajax(
        {
            type: "POST",
            url: "/pedido/desconto/",
            data: {
                pedido_id: pedido_id,
                desconto: desconto,
                csrfmiddlewaretoken: csrf_token
            },
            async: false,
            success: function(retorno) {
                return true;
            },
            statusCode: {
                404: function() {
                    alert('Pagina não encontrada');
                    return false;
                },
                408: function() {
                    alert('Não responde');
                    return false;
                }
            }
        }
    );
}

function quantidade_minima(codigo) {
    var csrf_token = getCookie('csrftoken');
    var minimo = false;
    $.ajax(
        {
            type: "POST",
            url: "/estoque/produto/quantidade/minima/",
            data: {
                codigo: codigo,
                csrfmiddlewaretoken: csrf_token
            },
            async: false,
            success: function(saida) {
                minimo = saida.minimo;
            },
            statusCode: {
                404: function() {
                    alert('Pagina não encontrada');
                    minimo = false;
                },
                408: function() {
                    alert('Não responde');
                    minimo = false;
                }
            }
        }
    );
    return minimo;
}

function verifica_quantidade_minima(codigo) {
    if (quantidade_minima(codigo)) {
        texto = "ATENÇÃO!!! Produto com estoque baixo. Código: \"" + codigo + "\"";
        aviso_popup(texto);
    }
}

function verifica_codigo() {
    codigo = $("input[name=codigo]").val().trim();
    quantidade = $("input[name=quantidade]").val().trim();
    
    regex = /(^([1-9]+\d*([.,]\d{1,3})?)|(^(0?[.,]\d{1,3})))$/;

    
    if (!regex.test(quantidade) || quantidade <= 0) {
        $("input[name=quantidade]").val("1");
        $("input[name=quantidade]").select();
        return false;
    }
    
    if (document.activeElement.name == "codigo" && codigo == "") {
    	$('form.produto_por_codigo input.entrada[name="quantidade"]').focus();
        $('form.produto_por_codigo input.entrada[name="quantidade"]').select();
        return false;
    } else if (document.activeElement.name == "quantidade" && codigo == "") {
        $('form.produto_por_codigo input.entrada[name="codigo"]').focus();
        $('form.produto_por_codigo input.entrada[name="codigo"]').select();
        return false;
    } else if (codigo == "") {
        $('form.produto_por_codigo input.entrada[name="codigo"]').focus();
        $('form.produto_por_codigo input.entrada[name="codigo"]').select();
        return false;
    }
    
    return true;
}

